From Event-B Models to Dafny Code Contracts
نویسندگان
چکیده
The constructive approach to software correctness aims at formal modelling and verification of the structure and behaviour of a system in different levels of abstraction. In contrast, the analytical approach to software verification focuses on code level correctness and its verification. Therefore it would seem that the constructive and analytical approaches should complement each other well. To demonstrate this idea we present a case for linking two existing verification methods, Event-B (constructive) and Dafny (analytical). This approach combines the power of Event-B abstraction and its stepwise refinement with the verification capabilities of Dafny. We presented a small case study to demonstrate this approach and outline of the rules for transforming Event-B events to Dafny contracts. Finally, a tool for automatic generation of Dafny contracts from Event-B formal models is presented.
منابع مشابه
Transforming Event-B Models to Dafny Contracts
Our work aims to build a bridge between constructive (top-down) and analytical (bottom-up) approaches to software verification. This paper presents a tool-supported method for linking two existing verification methods: Event-B (constructive) and Dafny (analytical). This method combines Event-B abstraction and refinement with the code-level verification features of Dafny. The link transforms Eve...
متن کاملIDENTIFICATION OF REASONS FOR CLAIMS OF CONTRACTORS IN D-B-B CONTRACTS AND EVALUATION BY MULTI-CRITERIA DECISION-MAKING MODELS (AHP)
The increasing complexity of construction, along with its rapid development, as well as ambiguities and gaps in the legal terms governing constructions, lack of trust in the parties regarding obligations and regulations are the main reasons of disagreements in domestic projects. These disagreements are inevitable even in contracts which are set correctly. Disagreements are costly, time-consumin...
متن کاملDafny Meets the Verification Benchmarks Challenge
A suite of verification benchmarks for software verification tools and techniques, presented at VSTTE 2008 [11], provides an initial catalogue of benchmark challenges for the Verified Software Initiative. This paper presents solutions to these eight benchmarks using the language and verifier Dafny. A Dafny program includes specifications, code, inductive invariants, and termination metrics. Eac...
متن کاملRealizing Change-Driven Consistency for Component Code, Architectural Models, and Contracts in Vitruvius
During the development of component-based software systems, it is often impractical or even impossible to include all development information into the source code. Instead, specialized languages are used to describe components and systems on different levels of abstraction or from different viewpoints: Component-based architecture models and contracts, for example, can be used to describe the s...
متن کاملDafny: Statically Verifying Functional Correctness
This report presents the Dafny language and verifier, with a focus on describing the main features of the language, including preand postconditions, assertions, loop invariants, termination metrics, quantifiers, predicates and frames. Examples of Dafny code are provided to illustrate the use of each feature, and an overview of how Dafny translates programming code into a mathematical proof of f...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015